The present invention relates to time-based programming and more particularly to the implementation of time-based sequences for controlling interactive media in an object oriented programming environment.
Authors of computer-based multimedia presentations (titles) need to create time-based sequences of events, such as displaying text, graphics, sounds, animations and video, as well as user interface elements for controlling their titles. Authors need to build these time-based sequences using convenient tools without having to learn complex programming techniques. At the same time, authors want the flexibility to write scripts, using a powerful time-based programming (scripting) language, to maintain precise control over the functionality of these sequences.
An exemplary prior art scripting language incorporating time-based sequences can be found in MacroMind Director published by MacroMedia. It allows authors to create time-based displays of text, graphics, sounds, animations, and video with user interface elements. It uses a time-based "score" metaphor with 24 channels of animation over time. It also includes a cast window for storing the artwork and sounds that are used in the course of the presentation.
MacroMind Director has a powerful set of functions, but is limited in what can be animated over time. Only those characteristics of objects that are controllable from the score can be changed over time. For example, if a bitmap object is in one of the channels, only certain predetermined aspects of the bitmap can be changed, such as its position on the screen, its size (scaling), its transfer or "ink" mode (e.g., matte, copy, xor, etc.), its colorization, the script which executes when a user clicks on it, and which bitmap from the cast is being displayed. Even though these are powerful capabilities, it is desirable not to be limited by these predetermined functions.
MacroMind Director also has the ability to execute a certain user script in each frame. However, this ability is outside of the score metaphor and is not sufficiently flexible or powerful to enable authors to control events across frames, much less arbitrary events. For example, it does not maintain the cumulative effects of previous frame scripts.
Another product which facilitates the creation of time-based sequences is Apple's Quicktime system software, utilized by authoring tools such as Adobe's Premier. Quicktime allows an author to edit and play back time-based video and sound, but does not provide a mechanism to precisely control the playback of other media or the execution of arbitrary sequences of code.